<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
    <head>
        <th:block th:include="include :: header('修改定时任务')"/>
    </head>
    <body class="white-bg">
        <div class="wrapper wrapper-content animated fadeInRight ibox-content">
            <form class="form-horizontal m" id="form-job-edit" th:object="${job}">
                <input id="jobId" name="jobId" th:field="*{jobId}" type="hidden"/>
                <div class="form-group">
                    <label class="col-sm-3 control-label is-required">任务名称：</label>
                    <div class="col-sm-8">
                        <input class="form-control" id="jobName" name="jobName" required th:field="*{jobName}"
                               type="text">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">任务分组：</label>
                    <div class="col-sm-8">
                        <select class="form-control m-b" name="jobGroup"
                                th:with="type=${@dict.getType('sys_job_group')}">
                            <option th:each="dict : ${type}" th:field="*{jobGroup}" th:text="${dict.dictLabel}"
                                    th:value="${dict.dictValue}"></option>
                        </select>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label is-required">调用目标字符串：</label>
                    <div class="col-sm-8">
                        <input class="form-control" id="invokeTarget" name="invokeTarget" required
                               th:field="*{invokeTarget}" type="text">
                        <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> Bean调用示例：ryTask.ryParams('ry')</span>
                        <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> Class类调用示例：com.ruoyi.quartz.task.RyTask.ryParams('ry')</span>
                        <span class="help-block m-b-none"><i class="fa fa-info-circle"></i> 参数说明：支持字符串，布尔类型，长整型，浮点型，整型</span>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label is-required">cron表达式：</label>
                    <div class="col-sm-8">
                        <input class="form-control" id="cronExpression" name="cronExpression" required
                               th:field="*{cronExpression}" type="text">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">执行策略：</label>
                    <div class="col-sm-8">
                        <label class="radio-box"> <input name="misfirePolicy" th:field="*{misfirePolicy}" type="radio"
                                                         value="1"/> 立即执行 </label>
                        <label class="radio-box"> <input name="misfirePolicy" th:field="*{misfirePolicy}" type="radio"
                                                         value="2"/> 执行一次 </label>
                        <label class="radio-box"> <input name="misfirePolicy" th:field="*{misfirePolicy}" type="radio"
                                                         value="3"/> 放弃执行 </label>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">并发执行：</label>
                    <div class="col-sm-8">
                        <label class="radio-box"> <input name="concurrent" th:field="*{concurrent}" type="radio"
                                                         value="0"/> 允许 </label>
                        <label class="radio-box"> <input name="concurrent" th:field="*{concurrent}" type="radio"
                                                         value="1"/> 禁止 </label>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">状态：</label>
                    <div class="col-sm-8">
                        <div class="radio-box" th:each="dict : ${@dict.getType('sys_job_status')}">
                            <input name="status" th:field="*{status}" th:id="${dict.dictCode}"
                                   th:value="${dict.dictValue}"
                                   type="radio">
                            <label th:for="${dict.dictCode}" th:text="${dict.dictLabel}"></label>
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-sm-3 control-label">备注：</label>
                    <div class="col-sm-8">
                        <textarea class="form-control" id="remark" name="remark">[[*{remark}]]</textarea>
                    </div>
                </div>
            </form>
        </div>
        <th:block th:include="include :: footer"/>
        <script type="text/javascript">
            var prefix = ctx + "monitor/job";

            $("#form-job-edit").validate({
                onkeyup: false,
                rules: {
                    cronExpression: {
                        required: true,
                        remote: {
                            url: prefix + "/checkCronExpressionIsValid",
                            type: "post",
                            dataType: "json",
                            data: {
                                "cronExpression": function () {
                                    return $.common.trim($("#cronExpression").val());
                                }
                            },
                            dataFilter: function (data, type) {
                                return data;
                            }
                        }
                    },
                },
                messages: {
                    "cronExpression": {
                        remote: "表达式不正确"
                    }
                },
                focusCleanup: true
            });

            function submitHandler() {
                if ($.validate.form()) {
                    $.operate.save(prefix + "/edit", $('#form-job-edit').serialize());
                }
            }
        </script>
    </body>
</html>
